package nmrworkflow.framework.executionmodule.interfaces;

import java.io.IOException;

public interface Executable
{
	/**
	 * Runs the given Executable.  Wait paramater controls whether or not
	 * the current thread waits for the Executable to finish running.
	 * @param wait
	 * @throws IOException
	 * @throws InterruptedException
	 */
	public void run(boolean wait) throws IOException, InterruptedException;
	
	/**
	 * Runs the given Executable.  Whether the current thread waits on
	 * the given Executable or not is based on the default of the Executable.
	 * @throws IOException
	 * @throws InterruptedException
	 */
	public void run() throws IOException, InterruptedException;
}
